package com.tiancheng.trade.settlement.feign;

import com.tiancheng.trade.commom.core.data.Result;
import com.tiancheng.trade.settlement.bo.MerchantBO;
import com.tiancheng.trade.settlement.bo.MerchantPaymentChannelBO;
import com.tiancheng.trade.settlement.bo.ProductBO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(value = "trade-merchant")
public interface MerchantPaymentChannelService {

    @GetMapping(value = "/api/merchant/findSubAppid")
    Result<MerchantPaymentChannelBO> findSubAppid(@RequestParam("merchant_code") String merchantCode, @RequestParam("payment_channel_code") String paymentChannelCode);

    @GetMapping(value = "/api/merchant/findMerchant")
    Result<MerchantBO> findMerchant(@RequestParam("merchant_code") String merchantCode);

    @GetMapping(value = "/api/merchant/getMerchantByMerCode")
    Result<List<MerchantBO>> getMerchantByMerCode(@RequestParam("list") List<String> merchantCodes);

    @GetMapping(value = "/api/product/findPaymentChannelByProductCodes")
    Result<List<ProductBO>> getProductByProductCode(@RequestParam("list") List<String> productCodes);

    @GetMapping(value = "/api/product/findPayChannelByCodeBusiness")
    Result<List<ProductBO>> getProductByBussessProductCode(@RequestParam("list") String bussessProductCodes);


    @GetMapping(value = "/api/product/getProductInfo")
    Result<ProductBO> getProductInfo(@RequestParam("productId") String productId);

}
